WOLF core
WOLF: A Modular Estimation Framework for Robotics
XXXXXXXXXXXXXXXXXXXXXXXXvoid(0)" frameborder="0" name="MSearchResults" id="MSearchResults">
wolf::SensorBase Class Referenceabstract

#include <core/sensor/sensor_base.h>

Inheritance diagram for wolf::SensorBase:
[legend]

Public Member Functions

 ~SensorBase () override
 
unsigned int id () const override
 
HardwareBaseConstPtr getHardware () const
 
HardwareBasePtr getHardware ()
 
YAML::Node getParams () const
 
ProcessorBaseConstPtrList getProcessorList () const
 
ProcessorBasePtrList getProcessorList ()
 
CaptureBaseConstPtr getLastCapture () const
 
CaptureBasePtr getLastCapture ()
 
void setLastCapture (CaptureBasePtr)
 
void updateLastCapture ()
 
CaptureBaseConstPtr findLastCaptureBefore (const TimeStamp &_ts) const
 
CaptureBasePtr findLastCaptureBefore (const TimeStamp &_ts)
 
bool process (const CaptureBasePtr capture_ptr)
 
StateBlockConstPtr getStateBlock (const char &_key) const override
 
StateBlockPtr getStateBlock (const char &_key) override
 
StateBlockConstPtr getStateBlock (const char &_key, const TimeStamp &_ts) const
 
StateBlockPtr getStateBlock (const char &_key, const TimeStamp &_ts)
 
CaptureBaseConstPtr getCaptureContainingStateBlock (const char &_key, const TimeStamp &_ts) const
 
CaptureBasePtr getCaptureContainingStateBlock (const char &_key, const TimeStamp &_ts)
 
CaptureBaseConstPtr getCaptureContainingStateBlock (const char &_key) const
 
CaptureBasePtr getCaptureContainingStateBlock (const char &_key)
 
StateBlockConstPtr getP (const TimeStamp _ts) const
 
StateBlockPtr getP (const TimeStamp _ts)
 
StateBlockConstPtr getO (const TimeStamp _ts) const
 
StateBlockPtr getO (const TimeStamp _ts)
 
StateBlockConstPtr getIntrinsic (const TimeStamp _ts) const
 
StateBlockPtr getIntrinsic (const TimeStamp _ts)
 
StateBlockConstPtr getP () const
 
StateBlockPtr getP ()
 
StateBlockConstPtr getO () const
 
StateBlockPtr getO ()
 
StateBlockConstPtr getIntrinsic () const
 
StateBlockPtr getIntrinsic ()
 
void setStateBlockDynamic (const char &_key, bool _dynamic=true)
 
bool isStateBlockDynamic (const char &_key) const
 
bool hasDrift (char _key) const
 
void setDriftStdRate (char _key, const Eigen::VectorXd &_drift_rate_std)
 
Eigen::VectorXd getDriftStdRate (char) const
 
void fixExtrinsics ()
 
void unfixExtrinsics ()
 
void fixIntrinsics ()
 
void unfixIntrinsics ()
 
bool isEnabled () const
 
void enable ()
 
void disable ()
 
virtual Eigen::MatrixXd computeNoiseCov (const Eigen::VectorXd &_data) const =0
 
virtual void printHeader (int depth, bool factored_by, bool metric, bool state_blocks, std::ostream &stream, std::string _tabs="") const
 
void printState (bool _factored_by, bool _metric, bool _state_blocks, std::ostream &_stream, std::string _tabs) const
 
void print (int depth, bool factored_by, bool metric, bool state_blocks, std::ostream &stream=std::cout, std::string _tabs="") const
 
virtual CheckLog localCheck (bool _verbose, std::ostream &_stream, std::string _tabs="") const
 
bool check (CheckLog &_log, bool _verbose, std::ostream &_stream, std::string _tabs="") const
 
void link (HardwareBasePtr)
 
SensorBasePtr shared_from_this_sensor ()
 
SensorBaseConstPtr shared_from_this_sensor () const
 
- Public Member Functions inherited from wolf::NodeStateBlocks
 NodeStateBlocks (const std::string &_category, const std::string &_type, const TypeComposite &_state_types, const VectorComposite &_state_vectors, const PriorComposite &_state_priors)
 Constructor. More...
 
virtual ~NodeStateBlocks ()
 
virtual YAML::Node toYaml () const
 
StateKeys getKeys () const
 
TypeComposite getStateTypes () const
 
bool has (const char &_sb_key) const
 
bool has (const std::string &_keys) const
 
virtual unsigned int id () const =0
 
std::map< char, StateBlockConstPtr > getStateBlockMap () const
 
std::map< char, StateBlockPtr > getStateBlockMap ()
 
std::vector< StateBlockConstPtr > getStateBlockVec () const
 
std::vector< StateBlockPtr > getStateBlockVec ()
 
StateBlockConstPtr getP () const
 
StateBlockConstPtr getO () const
 
StateBlockPtr getP ()
 
StateBlockPtr getO ()
 
virtual void fix ()
 
virtual void unfix ()
 
virtual bool isFixed () const
 
StateBlockPtr emplaceStateBlock (const char key, const std::string &_type, const Eigen::VectorXd &_vector, const bool &_fixed)
 Emplace a state block. More...
 
StateBlockPtr emplaceStateBlockZero (const char key, const std::string &_type, const bool &_fixed)
 Emplace a state block with zero state. More...
 
bool hasStateBlock (const StateBlockConstPtr &_sb) const
 
bool setStateBlock (const char _sb_key, const StateBlockPtr &_sb)
 
bool stateBlockKey (const StateBlockConstPtr &_sb, char &_key) const
 
virtual StateBlockConstPtr getStateBlock (const char &_sb_key) const
 
virtual StateBlockPtr getStateBlock (const char &_sb_key)
 
void setProblem (ProblemPtr _problem) override
 
virtual void remove (bool viral_remove_parent_without_children=false)
 
bool hasChildren () const override
 
void emplaceFactorStateBlock (const char &_key, const Eigen::VectorXd &_x, const Eigen::MatrixXd &_cov, unsigned int _start_idx=0)
 Add an absolute factor to a parameter. More...
 
void emplacePriors ()
 
FactorBaseConstPtrSet getFactoredBySet () const
 
FactorBasePtrSet getFactoredBySet ()
 
void getFactoredBySet (FactorBaseConstPtrSet &_fac_set) const
 
void getFactoredBySet (FactorBasePtrSet &_fac_set)
 
FactorBaseConstPtrSet getSensoryFactorSet () const
 
FactorBasePtrSet getSensoryFactorSet ()
 
std::map< char, FactorBaseConstPtr > getPriorFactorMap () const
 
std::map< char, FactorBasePtr > getPriorFactorMap ()
 
FactorBaseConstPtr getPriorFactor (char) const
 
FactorBasePtr getPriorFactor (char)
 
FactorBaseConstPtrList getFactorsOf (ProcessorBaseConstPtr _processor_ptr, const std::string &type="") const
 
FactorBasePtrList getFactorsOf (ProcessorBasePtr _processor_ptr, const std::string &type="")
 
bool hasFactor (FactorBaseConstPtr _fac) const
 
VectorComposite getState (const StateKeys &_keys="") const
 
void setState (const VectorComposite &_state, const bool _notify=true)
 
void setState (const Eigen::VectorXd &_state, const StateKeys &_keys, const std::list< SizeEigen > &_sizes, const bool _notify=true)
 
void setState (const Eigen::VectorXd &_state, const StateKeys &_keys, const bool _notify=true)
 
void setState (const StateKeys &_keys, const std::list< Eigen::VectorXd > &_vectors, const bool _notify=true)
 
Eigen::VectorXd getStateVector (const StateKeys &_keys) const
 
unsigned int getSize (const StateKeys &_keys="") const
 
unsigned int getLocalSize (const StateKeys &_keys="") const
 
bool getCovariance (const StateKeys &_keys, Eigen::MatrixXd &_cov) const
 
void perturb (double amplitude=0.01)
 perturb all states states with random noise following an uniform distribution in [ -amplitude, amplitude ] More...
 
bool isCapture () const
 
bool isFrame () const
 
bool isLandmark () const
 
bool isSensor () const
 
- Public Member Functions inherited from wolf::NodeBase
 NodeBase (const std::string &_category, const std::string &_type="Undefined", const std::string &_name="")
 
virtual ~NodeBase ()=default
 
unsigned int nodeId () const
 
std::string getCategory () const
 
std::string getType () const
 
std::string getName () const
 
bool isRemoving () const
 
virtual bool hasChildren () const =0
 
void setType (const std::string &_type)
 
void setName (const std::string &_name)
 
ProblemConstPtr getProblem () const
 
ProblemPtr getProblem ()
 

Protected Member Functions

void setProblem (ProblemPtr _problem) override final
 
 SensorBase (const std::string &_type, const TypeComposite &_state_types, const YAML::Node &_params)
 Constructor. More...
 
- Protected Member Functions inherited from wolf::NodeStateBlocks
virtual void removeStateBlock (const char &_sb_key)
 
void transform (const VectorComposite &_transformation)
 
void printState (bool _factored_by, bool _metric, bool _state_blocks, std::ostream &_stream, std::string _tabs) const
 
CheckLog localCheck (bool _verbose, std::ostream &_stream, std::string _tabs) const
 
virtual void setProblem (ProblemPtr _prob_ptr)
 

Protected Attributes

std::map< char, Eigen::VectorXd > drifts_std_rate_
 std rate of the drift of dynamic state blocks [unit/sqrt(s)] More...
 
YAML::Node params_
 Params yaml node. More...
 
- Protected Attributes inherited from wolf::NodeBase
ProblemWPtr problem_ptr_
 
unsigned int node_id_
 Node id. It is unique over the whole Wolf Tree. More...
 
std::string node_category_
 Text label identifying the category of node ("SENSOR", "FEATURE", etc) More...
 
std::string node_type_
 Text label identifying the type or subcategory of node ("Pin Hole", "Point 2d", etc) More...
 
std::string node_name_
 
bool is_removing_
 A flag for safely removing nodes from the Wolf tree. See remove(). More...
 

Constructor & Destructor Documentation

◆ SensorBase()

wolf::SensorBase::SensorBase ( const std::string &  _type,
const TypeComposite &  _state_types,
const YAML::Node &  _params 
)
protected

Constructor.

Parameters
_typeTO BE HARDCODED IN THE DERIVED CLASS CONSTRUCTOR: derived class name
_state_typesTO BE HARDCODED IN THE DERIVED CLASS CONSTRUCTOR: Composite of keys and types of the states of the sensor.
_paramsparams yaml node

◆ ~SensorBase()

wolf::SensorBase::~SensorBase ( )
override

Member Function Documentation

◆ check()

bool wolf::SensorBase::check ( CheckLog &  _log,
bool  _verbose,
std::ostream &  _stream,
std::string  _tabs = "" 
) const

◆ computeNoiseCov()

virtual Eigen::MatrixXd wolf::SensorBase::computeNoiseCov ( const Eigen::VectorXd &  _data) const
pure virtual

◆ disable()

void wolf::SensorBase::disable ( )
inline

◆ enable()

void wolf::SensorBase::enable ( )
inline

◆ findLastCaptureBefore() [1/2]

CaptureBasePtr wolf::SensorBase::findLastCaptureBefore ( const TimeStamp &  _ts)

◆ findLastCaptureBefore() [2/2]

CaptureBaseConstPtr wolf::SensorBase::findLastCaptureBefore ( const TimeStamp &  _ts) const

◆ fixExtrinsics()

void wolf::SensorBase::fixExtrinsics ( )

◆ fixIntrinsics()

void wolf::SensorBase::fixIntrinsics ( )

◆ getCaptureContainingStateBlock() [1/4]

CaptureBasePtr wolf::SensorBase::getCaptureContainingStateBlock ( const char &  _key)

◆ getCaptureContainingStateBlock() [2/4]

CaptureBaseConstPtr wolf::SensorBase::getCaptureContainingStateBlock ( const char &  _key) const

◆ getCaptureContainingStateBlock() [3/4]

CaptureBasePtr wolf::SensorBase::getCaptureContainingStateBlock ( const char &  _key,
const TimeStamp &  _ts 
)

◆ getCaptureContainingStateBlock() [4/4]

CaptureBaseConstPtr wolf::SensorBase::getCaptureContainingStateBlock ( const char &  _key,
const TimeStamp &  _ts 
) const

◆ getDriftStdRate()

Eigen::VectorXd wolf::SensorBase::getDriftStdRate ( char  _key) const
inline

◆ getHardware() [1/2]

HardwareBasePtr wolf::SensorBase::getHardware ( )
inline

◆ getHardware() [2/2]

HardwareBaseConstPtr wolf::SensorBase::getHardware ( ) const
inline

◆ getIntrinsic() [1/4]

StateBlockPtr wolf::SensorBase::getIntrinsic ( )

◆ getIntrinsic() [2/4]

StateBlockConstPtr wolf::SensorBase::getIntrinsic ( ) const

◆ getIntrinsic() [3/4]

StateBlockPtr wolf::SensorBase::getIntrinsic ( const TimeStamp  _ts)

◆ getIntrinsic() [4/4]

StateBlockConstPtr wolf::SensorBase::getIntrinsic ( const TimeStamp  _ts) const

◆ getLastCapture() [1/2]

CaptureBasePtr wolf::SensorBase::getLastCapture ( )
inline

◆ getLastCapture() [2/2]

CaptureBaseConstPtr wolf::SensorBase::getLastCapture ( ) const
inline

◆ getO() [1/4]

StateBlockPtr wolf::SensorBase::getO ( )

◆ getO() [2/4]

StateBlockConstPtr wolf::SensorBase::getO ( ) const

◆ getO() [3/4]

StateBlockPtr wolf::SensorBase::getO ( const TimeStamp  _ts)

◆ getO() [4/4]

StateBlockConstPtr wolf::SensorBase::getO ( const TimeStamp  _ts) const

◆ getP() [1/4]

StateBlockPtr wolf::SensorBase::getP ( )

◆ getP() [2/4]

StateBlockConstPtr wolf::SensorBase::getP ( ) const

◆ getP() [3/4]

StateBlockPtr wolf::SensorBase::getP ( const TimeStamp  _ts)

◆ getP() [4/4]

StateBlockConstPtr wolf::SensorBase::getP ( const TimeStamp  _ts) const

◆ getParams()

YAML::Node wolf::SensorBase::getParams ( ) const
inline

◆ getProcessorList() [1/2]

ProcessorBasePtrList wolf::SensorBase::getProcessorList ( )
inline

◆ getProcessorList() [2/2]

ProcessorBaseConstPtrList wolf::SensorBase::getProcessorList ( ) const
inline

◆ getStateBlock() [1/4]

StateBlockConstPtr wolf::SensorBase::getStateBlock ( const char &  _key) const
overridevirtual

Reimplemented from wolf::NodeStateBlocks.

◆ getStateBlock() [2/4]

StateBlockPtr wolf::SensorBase::getStateBlock ( const char &  _key)
overridevirtual

Reimplemented from wolf::NodeStateBlocks.

◆ getStateBlock() [3/4]

StateBlockPtr wolf::SensorBase::getStateBlock ( const char &  _key,
const TimeStamp &  _ts 
)

◆ getStateBlock() [4/4]

StateBlockConstPtr wolf::SensorBase::getStateBlock ( const char &  _key,
const TimeStamp &  _ts 
) const

◆ hasDrift()

bool wolf::SensorBase::hasDrift ( char  _key) const
inline

◆ id()

unsigned int wolf::SensorBase::id ( ) const
inlineoverridevirtual

Implements wolf::NodeStateBlocks.

◆ isEnabled()

bool wolf::SensorBase::isEnabled ( ) const
inline

◆ isStateBlockDynamic()

bool wolf::SensorBase::isStateBlockDynamic ( const char &  _key) const
inline

◆ link()

void wolf::SensorBase::link ( HardwareBasePtr  _hw_ptr)

◆ localCheck()

CheckLog wolf::SensorBase::localCheck ( bool  _verbose,
std::ostream &  _stream,
std::string  _tabs = "" 
) const
virtual

◆ print()

void wolf::SensorBase::print ( int  depth,
bool  factored_by,
bool  metric,
bool  state_blocks,
std::ostream &  stream = std::cout,
std::string  _tabs = "" 
) const

◆ printHeader()

void wolf::SensorBase::printHeader ( int  depth,
bool  factored_by,
bool  metric,
bool  state_blocks,
std::ostream &  stream,
std::string  _tabs = "" 
) const
virtual

◆ printState()

void wolf::SensorBase::printState ( bool  _factored_by,
bool  _metric,
bool  _state_blocks,
std::ostream &  _stream,
std::string  _tabs 
) const

◆ process()

bool wolf::SensorBase::process ( const CaptureBasePtr  capture_ptr)

◆ setDriftStdRate()

void wolf::SensorBase::setDriftStdRate ( char  _key,
const Eigen::VectorXd &  _drift_rate_std 
)

◆ setLastCapture()

void wolf::SensorBase::setLastCapture ( CaptureBasePtr  cap)

◆ setProblem()

void wolf::SensorBase::setProblem ( ProblemPtr  _problem)
finaloverrideprotectedvirtual

Reimplemented from wolf::NodeStateBlocks.

◆ setStateBlockDynamic()

void wolf::SensorBase::setStateBlockDynamic ( const char &  _key,
bool  _dynamic = true 
)
inline

◆ shared_from_this_sensor() [1/2]

SensorBasePtr wolf::SensorBase::shared_from_this_sensor ( )
inline

◆ shared_from_this_sensor() [2/2]

SensorBaseConstPtr wolf::SensorBase::shared_from_this_sensor ( ) const
inline

◆ unfixExtrinsics()

void wolf::SensorBase::unfixExtrinsics ( )

◆ unfixIntrinsics()

void wolf::SensorBase::unfixIntrinsics ( )

◆ updateLastCapture()

void wolf::SensorBase::updateLastCapture ( )

Member Data Documentation

◆ drifts_std_rate_

std::map<char, Eigen::VectorXd> wolf::SensorBase::drifts_std_rate_
protected

std rate of the drift of dynamic state blocks [unit/sqrt(s)]

◆ params_

YAML::Node wolf::SensorBase::params_
protected

Params yaml node.


The documentation for this class was generated from the following files: